package com.ywu.file.sys.standard.data;

import com.ywu.file.sys.standard.dto.YwuFileSysDto;
import com.ywu.file.sys.standard.entity.YwuFileSysEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface YwuFileSysRepository {
    List<YwuFileSysEntity> queryPageList(@Param("model") YwuFileSysDto dto);

    int queryPageCount(@Param("model") YwuFileSysDto dto);

    void addFileInfo(@Param("model") YwuFileSysEntity ywuAppEntity);

    void deleteFileInfoById(@Param("model") YwuFileSysEntity ywuAppEntity);

    void deleteFileInfoByFileId(@Param("model") YwuFileSysEntity ywuAppEntity);

    YwuFileSysEntity getEntity(@Param("model") YwuFileSysEntity dataDictEntity);

    void updateFileInfo(@Param("model") YwuFileSysEntity ywuAppEntity);

    List<YwuFileSysEntity> queryListByIds(@Param("list") List<String> fileIds);

    void updatePartNumAndFileName(@Param("fileId") String fileId, @Param("segment") String segment,
                                  @Param("fileType") String fileType);

    YwuFileSysEntity getEntityUsingUploadById(@Param("fileId") String fileId);

    void updateFileStatusById(@Param("fileId") String fileId, @Param("fileStatus") String fileStatus, @Param("fileSize") String fileSize);

    void updateObjectName(@Param("fileId") String fileId, @Param("objectName") String minioObjectName);
}
